﻿package net.molchat.android.cont;


import net.molchat.android.core.FromBytes;
import net.molchat.android.core.ToBytes;
import android.util.Log;


// ======================================================== Персональный контакт
public class ContOne extends ContGraph {

// Константы
public static final int cBirthday = 67; // Дата рождения
public static final int cCity = 75; // Город
public static final int cCountry = 76; // Страна
public static final int cDescr = 69; // Описание
public static final int cGender = 68; // Пол
public static final int cID = 66; // Номер копии
public static final int cLogin = 65; // Логин
public static final int cName = 70; // Имя
public static final int cPatr = 72; // Отчество
public static final int cSite = 80; // Сайт
public static final int cStatNum = 92; // Номер статуса
public static final int cSurname = 71; // Фамилия
public static final int cUIN = 64; // Номер в базе

// Информация о пользователе
public String city; // Город
public String country; // Страна
public String descr; // Описание
public int gender = 0; // Пол
public String realName; // Реальное имя пользователя
public String patr; // Отчество
public long right = -1; // Уровень прав доступа
public String site; // Сайт
public String surname; // Фамилия
public int uin = -1; // Номер в базе
public byte[] version; // Версия клиента


// =============================================================== Инициализация
public ContOne() {

}


public ContOne(byte[] source) {

	fromByte(source);
}


// ================================================ Преобразование в байт-массив
public byte[] toByte() {

	ToBytes ser = new ToBytes();
	ser.writeInt(cLogin);
	ser.writeString(name);
	return ser.getResult();
}


// ================================================== Заполнение из байт-массива
public void fromByte(byte[] content) {

	try {
		FromBytes ser = new FromBytes(content, 0);

		while (ser.pt < content.length) {
			int type = ser.readInt(); // Тип читаемого блока
			switch (type) {
				case cLogin:
					name = ser.readString();
					break;
				case cGender:
					gender = ser.readInt();
					break;
				case cDescr:
					descr = ser.readString();
					break;
				case cStatNum:
					statNum = ser.readInt();
					break;
				default:
					Log.v("OneInfo.unserialize", "Неизвестный тип записи: "
							+ content[ser.pt]);
			}
		}
	} catch (Exception e) {
		Log.e("ContOne.fromByte", "Ошибка заполнения инфо из байт-массива", e);
	}

}


public String getTitText() {

	return name;
}


}
